IF exists(SELECT * FROM dbo.sysobjects WHERE name='vulLoopbaan' AND xtype='P') 
BEGIN
	DROP PROCEDURE vulLoopbaan
END
GO

CREATE  procedure vulLoopbaan
(@schooljaar char(4))
as
-----------------------
-- Overbrengen cijfers
-----------------------
-- Voeg niet-bestaande records toe

insert into studiegegevens..loopbaan(inschrijvingsNr,jaar,vakcode)
  select distinct h.inschrijvingsNr,@schooljaar,left(h.vakcode,2)
  from r_trimestercijfersVoorRapport as h
    left join studiegegevens..loopbaan as l
    	on l.inschrijvingsNr = h.inschrijvingsNr
		and l.vakcode = h.vakcode
		and l.jaar = @schooljaar
    where l.inschrijvingsNr is null

insert into studiegegevens..loopbaan(inschrijvingsNr,jaar,vakcode)
  select distinct h.inschrijvingsNr,@schooljaar,'AT'
  from r_trimesterTotaalVoorRapport as h
    left join studiegegevens..loopbaan as l
    	on l.inschrijvingsNr = h.inschrijvingsNr
		and l.jaar = @schooljaar
		and l.vakcode = 'AT'
    where l.inschrijvingsNr is null 

-- Pas de records aan

update studiegegevens..loopbaan
set 
  vakvolg = volg.loopbaanVolgNummer,klas=r.klas,
  DW1=isnull(r.DW1,'-1'),EX1=isnull(r.EX1,'-1'),TOT1 = isnull(r.TOT1,'-1'),
  DW2='-1',EX2='-1',TOT2 = '-1',
  DW3=isnull(r.DW2,'-1'),EX3=isnull(r.EX2,'-1'),TOT3 = isnull(r.TOT2,'-1'),
  DW4=isnull(r.DW4,'-1'),EX4=isnull(r.EX4,'-1'),TOT4 = isnull(r.TOT4,'-1')
from r_trimestercijfersVoorRapport as r 
	left join leraars..vakvolgorde as volg
    	on r.vakcode = volg.vakcode
        left join studiegegevens..loopbaan as l
    	on l.inschrijvingsNr = r.inschrijvingsNr
		and l.vakcode = r.vakcode
		and l.jaar = @schooljaar
	

update studiegegevens..loopbaan
set 
  vakvolg = volg.loopbaanVolgNummer,klas=r.klas,
  DW1=isnull(r.DW1,'-1'),EX1=isnull(r.EX1,'-1'),TOT1 = isnull(r.TOT1,'-1'),
  DW2='-1',EX2='-1',TOT2 = '-1',
  DW3=isnull(r.DW2,'-1'),EX3=isnull(r.EX2,'-1'),TOT3 = isnull(r.TOT2,'-1'),
  DW4=isnull(r.DW4,'-1'),EX4=isnull(r.EX4,'-1'),TOT4 = isnull(r.TOT4,'-1')
from r_trimesterTotaalVoorRapport as r 
	left join leraars..vakvolgorde as volg
    	on volg.vakcode = 'AT'
        left join studiegegevens..loopbaan as l
    	on l.inschrijvingsNr = r.inschrijvingsNr
		and l.vakcode = 'AT'
		and l.jaar = @schooljaar

-------------------------------
-- Overbrengen gemiddeldes
--------------------------------

insert into studiegegevens..gemiddelde(klas,jaar,vakcode)
  select distinct h.klas,@schooljaar,left(h.vakcode,2)
  from r_trimestercijfersVoorRapport as h
    left join studiegegevens..gemiddelde as l
    	on l.klas = h.klas
		and l.vakcode = h.vakcode
		and l.jaar = @schooljaar
    where l.klas is null

insert into studiegegevens..gemiddelde(klas,jaar,vakcode)
  select distinct h.klas,@schooljaar,'AT'
  from r_trimesterTotaalVoorRapport as h
    left join studiegegevens..gemiddelde as l
    	on l.klas = h.klas
		and l.jaar = @schooljaar
		and l.vakcode = 'AT'
    where l.klas is null 

-- Pas de records aan

update studiegegevens..gemiddelde
set 
  klas=r.klas,
  gem_DW1=isnull(r.DW1Gem,'-1'),gem_EX1=isnull(r.EX1Gem,'-1'),gem_TOT1 = isnull(r.TOT1Gem,'-1'),
  gem_DW2='-1',gem_EX2='-1',gem_TOT2 = '-1',
  gem_DW3=isnull(r.DW2gem,'-1'),gem_EX3=isnull(r.EX2gem,'-1'),gem_TOT3 = isnull(r.TOT2gem,'-1'),
  gem_DW4=isnull(r.DW4gem,'-1'),gem_EX4=isnull(r.EX4gem,'-1'),gem_TOT4 = isnull(r.TOT4gem,'-1'),
  lk_ident=isNull(opdr.naamcode,'')
from (select distinct klas,vakcode,DW1Gem,EX1Gem,TOT1Gem,DW2Gem,EX2Gem,TOT2Gem,
		DW4Gem,EX4Gem,TOT4Gem from r_trimestercijfersVoorRapport) as r 
	left join leraars..vakvolgorde as volg
    	  on r.vakcode = volg.vakcode
        left join leraars..opdracht as opdr
    	  on r.vakcode = opdr.vakcode
	    and r.klas = opdr.klas
        left join studiegegevens..gemiddelde as l
    	  on l.klas = r.klas
		and l.vakcode = r.vakcode
		and l.jaar = @schooljaar


update studiegegevens..gemiddelde
set 
  klas=r.klas,
  gem_DW1=isnull(r.DW1gem,'-1'),gem_EX1=isnull(r.EX1gem,'-1'),gem_TOT1 = isnull(r.TOT1gem,'-1'),
  gem_DW2='-1',gem_EX2='-1',gem_TOT2 = '-1',
  gem_DW3=isnull(r.DW2gem,'-1'),gem_EX3=isnull(r.EX2gem,'-1'),gem_TOT3 = isnull(r.TOT2gem,'-1'),
  gem_DW4=isnull(r.DW4gem,'-1'),gem_EX4=isnull(r.EX4gem,'-1'),gem_TOT4 = isnull(r.TOT4gem,'-1'),
  lk_ident=''
from (select distinct klas,DW1Gem,EX1Gem,TOT1Gem,DW2Gem,EX2Gem,TOT2Gem,
		DW4Gem,EX4Gem,TOT4Gem from r_trimesterTotaalVoorRapport) as r
	left join leraars..vakvolgorde as volg
    	on volg.vakcode = 'AT'
        left join studiegegevens..gemiddelde as l
    	on l.klas = r.klas
		and l.vakcode = 'AT'
		and l.jaar = @schooljaar